1. Field of the Invention
The invention relates generally to a method and mechanism for selecting a network protocol, and more particularly to a method and mechanism for detecting network limitations and selecting an appropriate protocol.
2. Description of the Related Art
Recent advancements in the art of data communications have provided great strides in resource sharing amongst computer systems through the use of networks which offer reliable high-speed data channels. Networks allow versatility by defining a common standard for communication so that information according to as standard protocol may be exchanged across user applications. As the popularity of networks increase so does the demand for performance. More sophisticated protocols are being established to meet this demand and are utilizing existing twisted pair wires in office buildings so that many users have access to shared resources at minimal expense.
As will be appreciated by those skilled in the art, communication networks and their operations can be described according to the Open Systems Interconnection (OSI) model which includes seven layers including an application, presentation, session, transport, network, link, and physical layer. The OSI model was developed by the International Organization for Standardization (ISO) and is described in "The Basics Book of OSI and Network Management" by Motorola Codex from Addison-Wesley Publishing Company, Inc., 1993 (First Printing September 1992), and which is incorporated by reference herein.
Each layer of the OSI model performs a specific data communications task, a service to and for the layer that precedes it (e.g., the network layer provides a service for the transport layer). The process can be likened to placing a letter in a series of envelopes before it is sent through the postal system. Each succeeding envelope adds another layer of processing or overhead information necessary to process the transaction. Together, all the envelopes help make sure the letter gets to the right address and that the message received is identical to the message sent. Once the entire package is received at its destination, the envelopes are opened one by one until the letter itself emerges exactly as written.
In a data communication transaction, however, each end user is unaware of the envelopes, which perform their functions transparently. For example, an automatic bank teller transaction can be tracked through the multi-layer OSI system. One multiple layer system (Open System A) provides an application layer that is an interface to a person attempting a transaction, while the other multiple layer system (Open System B) provides an application layer that interfaces with applications software in a bank's host computer. The corresponding layers in Open Systems A and B are called peer layers and communicate through peer protocols. These peer protocols provide communication support for a user's application, performing transaction related tasks such as debiting an account, dispensing currency, or crediting an account.
Actual data flow between the two open systems (Open System A and Open System B), however, is from top to bottom in one open system (Open System A, the source), across the communications line, and then from bottom to top in the other open system (Open System B, the destination). Each time that user application data passes downward from one layer to the next layer in the same system more processing information is added. When that information is removed and processed by the peer layer in the other system, it causes various tasks (error correction, flow control, etc.) to be performed.
The ISO has specifically defined all seven layers, which are summarized below in the order in which the data actually flows as they leave the source:
Layer 7, the application layer, provides for a user application (such as getting money from an automatic bank teller machine) to interface with the OSI application layer. That OSI application layer has a corresponding peer layer in the other open system, the bank's host computer.
Layer 6, the presentation layer, makes sure the user information (a request for $50 in cash to be debited from your checking account) is in a format (i.e., syntax or sequence of ones and zeros) the destination open system can understand.
Layer 5, the session layer, provides synchronization control of data between the open systems (i.e., makes sure the bit configurations that pass through layer 5 at the source are the same as those that pass through layer 5 at the destination).
Layer 4, the transport layer, ensures that an end-to-end connection has been established between the two open systems and is often reliable (i.e., layer 4 at the destination confirms the request for a connection, so to speak, that it has received from layer 4 at the source).
Layer 3, the network layer, provides routing and relaying of data through the network (among other things, at layer 3 on the outbound side an address gets placed on the envelope which is then read by layer 3 at the destination).
Layer 2, the data link layer, includes flow control of data as messages pass down through this layer in one open system and up through the peer layer in the other open system.
Layer 1, the physical interface layer, includes the ways in which data communications equipment is connected mechanically and electrically, and the means by which the data moves across those physical connections from layer 1 at the source to layer 1 at the destination.
The primary standard for Local and Metropolitan Area Network technologies is governed by IEEE Std. 802, which is incorporated by reference herein. IEEE Std. 802 describes the relationship among the family of 802 standards and their relationship to the ISO OSI Basic Reference Model. Generally, IEEE Std. 802 prescribes the functional, electrical and mechanical protocols, and the physical and data link layers for Local and Metropolitan Area Networks (LAN/MAN). The specification augments network principles, conforming to the ISO seven-layer model for OSI, commonly referred to as "Ethernet". In the hierarchy of the seven-layer model, the lowest layers, the so-called physical and data link layers, comprise functional modules that specify the physical transmission media and the way network nodes interface to it, the mechanics of transmitting information over the media in an error-free manner, and the format the information must take in order to be transmitted.
While there are several LAN technologies in use today, Ethernet is by far the most popular. The Ethernet standards include protocols for a 10 Mbps baseband transmissions typically referred to as 10Base-X. Computers equipped with a 10Base-X Ethernet interface attachments may link to other computers over an Ethernet LAN. These Ethernet LAN's provide fast and reliable data transmission networks. Nevertheless, the need for faster data transmission has led to the development of faster standards. One such standard includes the Fast Ethernet standards typically referred to as 100Base-X. The 100Base-X standards generally follow the 100Base-X standards except that the baseband data transmission rate increases from 10 Mbps to 100 Mbps. The 100Base-X standard, however, retains the original CSMA/CD medium access control mechanism.
The 100Base-X standards include the 100Base-T standard for interconnecting devices over an ordinary twisted pair telephone cable. The 100Base-T standard is popular for providing an inexpensive LAN in many modern offices.
The 100Base-X Fast Ethernet standards also include mechanisms for Auto-Negotiation of the media speed. As the 100 Mbps standard becomes more widely adopted, computers are being equipped with Ethernet interfaces that operate at both 10 Mbps and 100 Mbps. The Auto-Negotiation function is an optional part of the Ethernet standard that allows the devices to exchange information about their abilities. This, in turn, allows the devices to perform automatic configuration to select a common communication mode over the link. Generally, Auto-Negotiation provides automatic speed matching for multi-speed devices on a LAN. Multi-speed Ethernet interfaces can then take advantage of the highest speed offered on the LAN.
During the speed setup phase, Auto-Negotiation exchanges information about devices on the communication link. This information is exchanged via link pulses at 10 Mbps. Devices capable of communicating at 100 Mbps may advertise their ability by sending a packet of data at 10 Mbps typically referred to as fast link pulses. Where all devices on the communication link advertise this ability, the link will be established at 100 Mbps using a 100Base-X protocol.
After establishing an Ethernet connection, network devices typically transmit Manchester-encoded baseband serial data. The devices package the data into frames sometimes referred to as a packet. Each Ethernet packet typically includes a preamble (62 bits long), a start of frame delimiter (2 bits long), a destination address (6 bytes long), a source address (6 bytes long), a type field address (2 bytes long), a data field (46 to 1.5K bytes long), and a frame check sequence (4 bytes long).
These packets are physically sent over a network which interconnects devices. The IEEE 802.3.1.4. standard defines the physical characteristics for such cabling in a number of categories. Category 3, for example, as defined at 802.3. defines a twisted pair having transmission characteristics specified up to 16 MHz. Category 5 likewise defines a twisted pair having transmission characteristics specified up to 100 MHz. 100Base-T devices interconnected by a category 3 cable, will begin to set-up a communication link through Auto-Negotiation. The devices will advertise their 100 Mbps capabilities via fast link pulses at 10 Mbps. The Auto-negotiation may then establish a 100Base-T communication link at 100 Mbps. As mentioned above, the Category 3 cable only includes transmission characteristics up to 16 MHz. Consequently, the established 100Base-TX communication link may or may not function reliably. Specifically, where the interconnecting category 3 cable exceeds the IEEE Std. 802.3 requirements so that its transmissions characteristics extend to 100 MHz, the cable may support the 100Base-TX communication link. Where, however, the interconnecting category 3 cable's transmission characteristics do not extend to 100 MHz, the communication link will function sporadically or not at all.
By carefully determining the transmission characteristics of all network elements, a network administrator may avoid connecting 100 Mbps devices with lower frequency cable. This may involve rewiring an entire building to provide suitable cable for the 100 Mbps devices. Alternatively, the system administrator may manually force devices connected by a category 3 cable to communicate using 10Base-T at 10 Mbps. Typically, network devices include dip switches or other setting mechanism for selecting a protocol. Either of the above options effectively allow the system administrator to avoid the mismatched cable problem. Both, however, require that the system administrator carefully monitor the device characteristics of all network elements. This monitoring costs the system administrator significant amounts of time and requires expensive testing instruments, especially where the cable types cannot be readily determined.
For example in many office LANs, the interconnecting cables are hidden from view. Usually the cables do not bear an indication of their particular type. The cables may have been installed years ago to support a particular network. As devices on the network are upgraded, a system administrator may seek to increase the bit-rate of the network. The system administrator must then ensure that the installed cables are capable of supporting the increased bit-rate. To make this determination, the system administrator must apply a high-frequency signal to the network and measure the received signal at other points on the network. The system administrator might simply use two network devices sending and receiving test signals at different bit rates to determine the frequency response. Alternately, the system administrator might use a signal generator and an oscilloscope to measure the network's frequency response. In any case, the system administrator must spend a significant amount of time and use sophisticated tools to determine the maximum network bit rate.
In some cases, the system administrator may not be aware of the potential for the interconnecting conflict. Such a system administrator may unknowingly install 100Base-T devices on a category 3 cable network only to find that the upgraded network is completely nonfunctional. The system administrator may then spend a significant amount of time troubleshooting.
To avoid these problems, network devices should provide a method and mechanism to sense whether the interconnecting cable is capable of supporting the fastest common protocol rate. Where the cable is not, the network devices should back down to the fastest protocol which the cable will reliably support. The method and mechanism must be cheaply and easily implemented. Moreover, the network devices should provide a mechanism to notify the system administrator of the communication rate. Where the interconnecting cable limits the rate, the network devices should also notify the system administrator of this condition.